package com.example.tse.rbhttpservice.service.moments;

import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeFollowRequest;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeFollowResponse;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetRequest;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetResponse;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetHomepageRequest;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetHomepageResponse;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetFollowedListRequest;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetFollowedListResponse;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetRecommendListRequest;
import com.example.tse.rbhttpservice.service.moments.model.MomentsHomeGetRecommendListResponse;
import  com.example.tse.rbhttpservice.service.RemoteServiceListenerT;

/**
 *
 * @author wliu
 *  edit   tse
 */
public interface MomentsHomeService {
	/**
	 * 关注功能，点击多次切换状态，关注按钮在此点击都可以取消
	 * @param request
	 * @param listener
	 * @return MomentsHomeFollowResponse
	 */
	  void follow(MomentsHomeFollowRequest request, RemoteServiceListenerT<MomentsHomeFollowResponse> listener);
		
	/**
	 * ［首页］：版块列表、达人推荐、帖子列表
［首页］版块列表：妈妈关心等［后台会维护］，只在首页显示版块，一般推荐2个版块，一个版块下显示2个活动
［首页］达人推荐：固定三条推荐的，默认最新添加的三条记录
［首页］帖子列表：同帖子列表
	 * @param request
	 * @param listener
	 * @return MomentsHomeGetResponse
	 */
	  void get(MomentsHomeGetRequest request, RemoteServiceListenerT<MomentsHomeGetResponse> listener);
		
	/**
	 * 获取个人主页数据，默认获取当前用户的主页
	 * @param request
	 * @param listener
	 * @return MomentsHomeGetHomepageResponse
	 */
	  void getHomepage(MomentsHomeGetHomepageRequest request, RemoteServiceListenerT<MomentsHomeGetHomepageResponse> listener);
		
	/**
	 * 点击首页，进入关注界面，获取关注用户的帖子列表（响应参数同帖子详情接口）
	 * @param request
	 * @param listener
	 * @return MomentsHomeGetFollowedListResponse
	 */
	  void getFollowedList(MomentsHomeGetFollowedListRequest request, RemoteServiceListenerT<MomentsHomeGetFollowedListResponse> listener);
		
	/**
	 * 点击首页的达人推荐进入，显示所有推荐给当前用户达人列表，对于所有用户推荐数据都是相同
	 * @param request
	 * @param listener
	 * @return MomentsHomeGetRecommendListResponse
	 */
	  void getRecommendList(MomentsHomeGetRecommendListRequest request, RemoteServiceListenerT<MomentsHomeGetRecommendListResponse> listener);
		
}
